From 585e28d49b853155c34a3eba03388722e2049cb7 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Sun, 29 Mar 2026 14:10:57 +0200 Subject: feat: add published status to changelog entries --- apps/web/src/app/changelog/[version]/page.tsx | 37 ++++++++++++--------------- 1 file changed, 17 insertions(+), 20 deletions(-) (limited to 'apps/web/src/app/changelog/[version]') diff --git a/apps/web/src/app/changelog/[version]/page.tsx b/apps/web/src/app/changelog/[version]/page.tsx index a3647fbd..522f454a 100644 --- a/apps/web/src/app/changelog/[version]/page.tsx +++ b/apps/web/src/app/changelog/[version]/page.tsx @@ -2,9 +2,8 @@ import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; import { BasePage } from "@/app/base-page"; -import { allChangelogs } from "content-collections"; import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react"; -import { getSortedReleases } from "../utils"; +import { getReleaseByVersion, getSortedReleases } from "../utils"; import { ReleaseArticle, ReleaseMeta, @@ -17,12 +16,12 @@ import { CopyMarkdownButton } from "../components/copy-markdown-button"; type Props = { params: Promise<{ version: string }> }; export async function generateStaticParams() { - return allChangelogs.map((r) => ({ version: r.version })); + return getSortedReleases().map((release) => ({ version: release.version })); } export async function generateMetadata({ params }: Props): Promise { const { version } = await params; - const release = allChangelogs.find((r) => r.version === version); + const release = getReleaseByVersion({ version }); if (!release) return {}; return { title: `${release.title} (${release.version}) - OpenCut Changelog`, @@ -33,10 +32,8 @@ export async function generateMetadata({ params }: Props): Promise { export default async function ReleaseDetailPage({ params }: Props) { const { version } = await params; const releases = getSortedReleases(); - const index = releases.findIndex((r) => r.version === version); - + const index = releases.findIndex((entry) => entry.version === version); if (index === -1) notFound(); - const release = releases[index]; const newer = index > 0 ? releases[index - 1] : null; const older = index < releases.length - 1 ? releases[index + 1] : null; @@ -52,20 +49,20 @@ export default async function ReleaseDetailPage({ params }: Props) { All releases - -
-
- - + +
+
+ + +
+ {release.title} + {release.description && ( + {release.description} + )}
- {release.title} - {release.description && ( - {release.description} - )} -
-- cgit v1.3.1